package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionarioendereco;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioEndereco;

@WebService
public interface FuncionarioEnderecoEndPoint {
	
	@WebMethod(operationName="listarTodosEnderecosFuncionarios")
	public @WebResult(name="listaFuncionarioEndereco") List<FuncionarioEndereco> recuperarTodos();
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorIdFuncionarioEndereco")
	public @WebResult(name="funcionarioEndereco")FuncionarioEndereco recuperarPorIdFuncionarioEndereco(
		   @WebParam(name="idFuncionarioEndereco")Long idFuncionarioEndereco);
		
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorFuncionario")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorFuncionario(
		@WebParam(name="funcionario")Long funcionario);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorIdTipoEndereco")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorIdTipoEndereco(
		@WebParam(name="idTipoEndereco")Long idTipoEndereco);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorIdMunicipio")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorIdMunicipio(
		@WebParam(name="idMunicipio")Long idMunicipio);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorDsLogradouro")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorDsLogradouro(
		@WebParam(name="dsLogradouro")String dsLogradouro);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorDsComplemento")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorDsComplemento(
		@WebParam(name="dsComplemento")String dsComplemento);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorNmBairro")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorNmBairro(
		@WebParam(name="nmBairro")String nmBairro);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorNrCep")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorNrCep(
		@WebParam(name="nrCep")String nrCep);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorStCorrespondencia")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorStCorrespondencia(
		@WebParam(name="stCorrespondencia")String stCorrespondencia);
	
	@WebMethod(operationName="recuperarFuncionarioEnderecoPorStRegistro")
	public @WebResult(name="listaFuncionarioEndereco")List<FuncionarioEndereco> recuperarPorStRegistro(
		@WebParam(name="stRegistro")String stRegistro);
	
	
	
	
	
	
}
